Why Do Smart Contracts Self-Destruct? Investigating the Selfdestruct Function on Ethereum

نویسندگان

چکیده

The selfdestruct function is provided by Ethereum smart contracts to destroy a contract on the blockchain system. However, it double-edged sword for developers. On one hand, using enables developers remove ( SCs ) from and transfers Ethers when emergency situations happen, e.g., being attacked. other this can increase complexity development open an attack vector attackers. To better understand reasons why SC include or exclude in their contracts, we conducted online survey collect feedback them summarize key reasons. Their shows that 66.67% of will deploy updated after destructing old contract. According information, propose method find self-destructed (also called predecessor contracts) version (successor computing code similarity. By analyzing difference between successor found five led death contracts; two (i.e., Unmatched ERC20 Token Limits Permission might affect life span contracts. We developed tool named LifeScope detect these problems. reports 0 false positives negatives detecting . In terms , achieves 77.89% F-measure 0.8673 AUC average. who functions, suggestions help use functions better.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A survey of attacks on Ethereum smart contracts

Smart contracts are computer programs that can be correctly executed by a network of mutually distrusting nodes, without the need of an external trusted authority. Since smart contracts handle and transfer assets of considerable value, besides their correct execution it is also crucial that their implementation is secure against attacks which aim at stealing or tampering the assets. We study th...

متن کامل

A Survey of Attacks on Ethereum Smart Contracts (SoK)

Smart contracts are computer programs that can be correctly executed by a network of mutually distrusting nodes, without the need of an external trusted authority. Since smart contracts handle and transfer assets of considerable value, besides their correct execution it is also crucial that their implementation is secure against attacks which aim at stealing or tampering the assets. We study th...

متن کامل

Tool Demonstration: FSolidM for Designing Secure Ethereum Smart Contracts

Blockchain-based distributed computing platforms enable the trusted execution of computation—defined in the form of smart contracts—without trusted agents. Smart contracts are envisioned to have a variety of applications, ranging from financial to IoT asset tracking. Unfortunately, the development of smart contracts has proven to be extremely error prone. In practice, contracts are riddled with...

متن کامل

In Code We Trust? - Measuring the Control Flow Immutability of All Smart Contracts Deployed on Ethereum

Program code stored on the Ethereum blockchain is considered immutable, but this does not imply that its control flow cannot be modified. This bears the risk of loopholes whenever parties encode binding agreements in smart contracts. In order to quantify the issue, we define a heuristic indicator of control flow immutability, evaluate it based on a call graph of all smart contracts deployed on ...

متن کامل

Self-Destruct Non-Malleability

We introduce a new security notion for public-key encryption (PKE) that we dub non-malleability under (chosen-ciphertext) self-destruct attacks (NM-SDA), which appears to be the strongest natural PKE security notion below full-blown chosen-ciphertext (IND-CCA) security. In this notion, the adversary is allowed to ask many adaptive “parallel” decryption queries (i.e., a query consists of many ci...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: ACM Transactions on Software Engineering and Methodology

سال: 2021

ISSN: ['1049-331X', '1557-7392']

DOI: https://doi.org/10.1145/3488245